const {
    jwtDecode
  } = require("../utils/jwt")

const adminModel = require("../db/model/adminModel")
//token校验中间件
module.exports =  async (req, res, next)=>{
    const{
        token
    }=req.headers;
    //对token进行解码
    const jwtResult = jwtDecode(token, '666')

    //解码失败
    if (jwtResult.code === 0) {
        return res.send({
            code: 20000,
            msg: "服务端权限校验解码失败",
            data: null
        })
    }
    //还要判断数据库中状态是否为1
    try{
        const findResult = await adminModel.findOne({
            adminName:jwtResult.adminName
        })
        if(findResult.atatus === 0){
            return res.send({
                code: 20000,
                msg: '服务端权限校验失败,数据库保存的status异常',
                data: null
            })
        }
        //如果查询是1 直接通过中间件
        next()
    }catch(e){
        console.log("权限控制中:查询status状态出现异常" + e.message);
    res.send({
      code: 20000,
      msg: "权限控制中:查询status状态出现异常" + e.message,
      data: null
    })
    }

}


